#include <iostream>
using namespace std;

/**
 * 函数重载
 * 1. 函数名称相同，参数个数或者类型不同时成为函数重载
 * 2. 返回值类型不能作为函数重载判断标准
 * 3. 函数重载个数不做限制
*/

int add(int a, int b)
{
    return a + b;
}

int add(int a, int b, int c)
{
    return a + b + c;
}

float add(float a, float b)
{
    return a + b;
}

double add(double a, double b)
{
    return a + b;
}

int main()
{
    int a = 5, b = 7;
    cout << add(a, b) << endl;
    cout << add(a, b, 5) << endl;
    cout << add(float(1.2), float(3.5)) << endl;
    cout << add(3.4, 5.5) << endl;
    return 0;
}
